-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Prevent Pyrodigal from adding stop codon indicators #447
Conversation
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See comment about Param name otherwise lgtm
conf/modules.config
Outdated
@@ -201,6 +201,7 @@ process { | |||
params.annotation_pyrodigal_singlemode ? "-p single" : "-p meta", | |||
params.annotation_pyrodigal_closed ? "-c" : "", | |||
params.annotation_pyrodigal_forcenonsd ? "-n" : "", | |||
params.annotation_pyrodigal_stopcodon ? '--no-stop-codon' : '', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The pipeline flag should also be nostopcodon so it's clearer to the user
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay, is more intuitive yes. On the other hand I wanted to stick to the "codex" to have params default to false
in the nextflow.config (the renamed annotation_pyrodigal_nostopcodon
would have to be true
by default).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh I just saw that I flipped the logic by mistake 🙈 I'll update the above line to
params.annotation_pyrodigal_stopcodon ? '' : '--no-stop-codon',
conf/modules.config
Outdated
@@ -201,6 +201,7 @@ process { | |||
params.annotation_pyrodigal_singlemode ? "-p single" : "-p meta", | |||
params.annotation_pyrodigal_closed ? "-c" : "", | |||
params.annotation_pyrodigal_forcenonsd ? "-n" : "", | |||
params.annotation_pyrodigal_stopcodon ? '' : '--no-stop-codon', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I still don't fully understand the behaviour of of this flag - a user would have to set ...stopcodon false
on the CLI which is not good practise as it's not standard UNIX CLI behaviour
params.annotation_pyrodigal_stopcodon ? '' : '--no-stop-codon', | |
params.annotation_pyrodigal_usespecialstopcharacter ? '' : '--no-stop-codon', |
This gives more active 'action' to the user
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to have no stop characters appended to sequences by default, because AMPlify would ignore the whole sequence. That's the only reason for this PR. If the user prefers to have annotations with stop character for any reason (e.g. when no AMPlify is run), they can revert the default.
This introduces a new param which prevents Pyrodigal from appending
*
to coding sequences which contain a stop codon. It has been reported in #373 that AMPlify ignores sequences containing non-sequence characters like*
, thus this Pyrodigal flag should be used.The other annotation tools don't have such a flag unfortunately. We could think about adding a filtering step before AMPlify execution if the AMPlify authors don't solve this upstream (see issue bcgsc/AMPlify#17).
PR checklist
nf-core lint
).nextflow run . -profile test,docker --outdir <OUTDIR>
).nextflow run . -profile debug,test,docker --outdir <OUTDIR>
).docs/usage.md
is updated.docs/output.md
is updated.CHANGELOG.md
is updated.README.md
is updated (including new tool citations and authors/contributors).